1. Field of the Invention
The present invention relates to synthetic image encoding, and more particularly, to a coding apparatus and method for an orientation interpolator node.
2. Description of the Related Art
The MPEG-4 Binary Format for Scenes (BIFS), which is one of several international multimedia standards, supports key-frame-based animation representation technology among a variety of technologies for representing animation information used in a synthetic image. Data that forms key-frame-based animation is represented by keys and key values, which are expressed in interpolator node syntax in the MPEG-4 BIFS. In the MPEG-4 BIFS, a large amount of key and key value data is needed so as to provide smooth animation of key frames. A key frame consists of one key and one key value. A key which represents a specific time in which animation is expressed is a number between xe2x88x92∞ and ∞ inclusive. Key values represent the information on the rotation of an object in a synthetic image in the time indicated by each key. The information on the rotation of the object in a time other than the time indicated by each key is obtained by interpolating between the key values corresponding to two keys: one indicating the closest previous time and the other indicating the closest next time. At this time, depending on the type of interpolator node, different interpolation methods are used.
One interpolation method using information on the rotation of an object expresses rotation information with rotation axes and a rotation angle. Like a Virtual Reality Modeling Language (VRML), the MPEG-4 BIFS supports rotation information, which is expressed with rotation axes and a rotation angle as described above, through an orientation interpolator node. That is, using an angle displacement expression method for expressing rotation axes and angle, the orientation interpolator node expresses rotation information and provides rotation information as key values. When key value data expresses smooth animation according to an interpolation characteristic, the distribution of difference values among successive key value sets is compact.
Therefore, it is efficient to use an encoding method using differential values among data sets. In the MPEG-4 BIFS, two representative methods are used for encoding field data which is represented by a key and key values of an orientation interpolator node and is to be processed: a method not using Differential Pulse Code Modulation (DPCM) and a method using the DPCM.
First, in the method not using the DPCM, only quantization is performed with respect to keys and key values of data to be encoded. Therefore, because the unique characteristics of data to be encoded is not considered, the method is inefficient. The method not using the DPCM will now be explained briefly. The field data of an orientation interpolator node is input and the key values of the field data are converted into values in a quaternion space. Next, the data precision of the key or key values are adjusted and the key and key values are quantized. Then the quantized field data is output as binary format data. Next, in order to check the quantization result, the output binary format data is restored to field data by inverse quantization, and each restored quaternion value is mapped to a key value format that is formed of rotation axes and a rotation angle. Next, the restored field data of the orientation node is stored and output to a screen. Also, using the data, the visual distortion of a quantization error is measured. The distortion D might be measured by the following equation 1:                                           D            =                                                            (                                                            ∑                                              i                        =                        0                                                                    i                         less than                         N                                                              ⁢                                          xe2x80x83                                        ⁢                                                                  (                                                  ϵ                          i                                                )                                            2                                                                                  /              N                                )                =                              (                                          ∑                                  i                  =                  0                                                  i                   less than                   N                                            ⁢                              xe2x80x83                            ⁢                                                                    (                                                                  Q                        i                                            -                                                                        Q                          ~                                                i                                                              )                                    2                                /                N                                      )                                              (        1        )            
Here, N represents the number of field data, xcex5i represents the difference between a value (Qi) to be encoded at present and a restored value ({tilde over (Q)}i).
Next, the method using DCPM considers the correlation among consecutive data sets and therefore can improve encoding efficiency more than the method not using DCPM. The differences between the two methods will now be explained briefly. In the method using DCPM, the difference value between previously restored key values and a value to be encoded at present is calculated before quantization, and the difference value is quantized. By doing so, data characteristics occurring in this differentiation improve encoding efficiency, to some degree.
FIG. 1 is a block diagram for explaining the general principle of the DPCM.
A DPCM unit 100 calculates the difference value (Ei) between a value (Qi) to be encoded at present and a restored value ({hacek over (Q)}ixe2x88x921), using an adder 102. The calculated value is quantized in a quantizer 120. The quantized value (Êi) is sent to a destination and to an inverse quantizer 140 by which the quantized value (Êi) is inverse quantized ({hacek over (E)}i).
However, in an Orientation Interpolator which interpolates between continuous key values by spherical linear interpolation, the DPCM method shown in FIG. 1 cannot have a high efficiency. This can be found when key values which determine the rotation position of an object are analyzed in a quaternion space.
One key value (q) which determines the rotation position of an object in a 3-dimensional space is expressed as a combination of rotation axes and a rotation angle. In the following equations 2, equation (aa) shows how the Orientation Interpolator expresses a key value and equation (bb) is an equation for converting the key value into a quaternion.
(aa) ({right arrow over (r)},xcex8)=(nx, ny, nz,xcex8) (0xe2x89xa6xcex8xe2x89xa6xcfx80)
                              xe2x80x83                ⁢                                            (              bb              )                        ⁢                          xe2x80x83                        ⁢            q                    =                                    (                                                cos                  ⁢                                      θ                    2                                                  ,                                                                            n                      x                                                              "LeftDoubleBracketingBar"                      n                      "RightDoubleBracketingBar"                                                        ⁢                  sin                  ⁢                                      θ                    2                                                  ,                                                                            n                      y                                                              "LeftDoubleBracketingBar"                      n                      "RightDoubleBracketingBar"                                                        ⁢                  sin                  ⁢                                      θ                    2                                                  ,                                                                            n                      z                                                              "LeftDoubleBracketingBar"                      n                      "RightDoubleBracketingBar"                                                        ⁢                  sin                  ⁢                                      θ                    2                                                              )                        .                                              (        2        )            
As shown in equation (bb), if rotation axis vectors and rotation angles of two quaternions have the same absolute values and opposite signs in the quaternion space, the two quaternions are the same. This means that in the physical aspect, two rotation transformations are the same and the factors affecting a rotation transformation are the rotation axis direction and rotation angle, and not the rotation axis vectors. Therefore, the quaternion expression which represents the rotation transformation of an object successfully expresses the rotation axis direction and rotation angle which are factors affecting the rotation transformation.
Meanwhile, the DPCM method of FIG. 1, in which equation (aa) is used for calculating time differential values between key values indicating rotation transformations, considers the difference between rotation axis vectors, and therefore does not show correlation of changes in rotation axis directions with respect to time changes and encoding efficiency is lowered.
To solve the above problems, it is a first objective of the present invention to provide a coding apparatus and method for an orientation interpolator node, in which by encoding the field data of an orientation interpolator node through adaptive DPCM processing using a rotation differential matrix conversion, data redundancy in a time region is removed, bit redundancy between symbols, which are quantized through additional arithmetic encoding, is removed, and additional information for elements is removed, with reflecting the physical characteristics of rotational and translational movement in a quaternion space, so that the efficiency of data transmission is improved and the degree of visual quality distortion is more objectively measured.
To accomplish the first objective of the present invention, there is provided an encoding apparatus for an orientation interpolator node which provides information on the rotation of an object in a 3-dimensional space, the encoding apparatus including a field data input unit for extracting field data to be encoded at present from a key which indicates information on a position on a time axis where a change of rotational and translational movement occurs and key values which indicate rotation information corresponding to the position information, by parsing the orientation interpolator node; an adaptive differential pulse code modulation (ADPCM) processing unit for converting the key value data into a quaternion, and then ADPCM processing the quaternion using rotation differentiation, and differential pulse code modulation (DPCM) processing for the key data; and a quantizing unit for quantizing the key data and key value data and outputting the quantized data
To accomplish the second objective of the present invention, there is provided an encoding method for an orientation interpolator node which provides information on the rotation of an object in a 3-dimensional space, the encoding method having the steps of (a) extracting field data to be encoded at present from a key which indicates information on a position on a time axis where a change of rotational and translational movement occurs and key values which indicate rotation information corresponding to the position information, by parsing the orientation interpolator node; (b) converting the key value data into a quaternion, and then adaptive differential pulse code modulation (ADPCM) processing the quaternion using a rotation differential converting matrix, and differential pulse code modulation (DPCM) processing the key data; and (c) quantizing the key data and key value data and outputting the quantized data.